package org.apache.ocean.main.client;

import java.util.List;
import java.util.Map;

import org.apache.ocean.main.IndexSchema.Category;

public class DisMaxClient {
  	
	public static class Search extends SearchClient.Search {
		private Map<String,Float> userFields;
		private Map<String,Float> phraseFields;
		private Float tieBreaker;
		private Integer phraseSlop;
		private Integer querySlop;
		private List<String> boostQueries;
		private String minShouldMatch;
    
		public Search(int start, int num, String query, String fields, List<String> filters, Category indexSchemaCategory, Map<String, Float> userFields, Map<String, Float> phraseFields, Float tieBreaker, Integer phraseSlop, Integer querySlop, List<String> boostQueries, String minShouldMatch) {
			super(start, num, query, fields, filters, indexSchemaCategory);
			this.userFields = userFields;
			this.phraseFields = phraseFields;
			this.tieBreaker = tieBreaker;
			this.phraseSlop = phraseSlop;
			this.querySlop = querySlop;
			this.boostQueries = boostQueries;
			this.minShouldMatch = minShouldMatch;
		}

		public Float getTieBreaker() {
			return tieBreaker;
		}

		public String getMinShouldMatch() {
			return minShouldMatch;
		}

		public List<String> getBoostQueries() {
			return boostQueries;
		}

		public Integer getPhraseSlop() {
			return phraseSlop;
		}

		public Integer getQuerySlop() {
			return querySlop;
		}

		public Map<String, Float> getUserFields() {
			return userFields;
		}

		public Map<String, Float> getPhraseFields() {
			return phraseFields;
		}
	}
}
